
function ini(){
    
  
  
    
}
$(document).ready(function() {

/* PANEL Layout -------------------------------------------------------------- */
    $('.dateTime').datetimepicker();
    $('.hover').bind('touchstart touchend', function(e) {
            e.preventDefault();
    });
    
    //$.datepicker.setDefaults( $.datepicker.regional[ "es" ] );

  //$('body').disableSelection();
  
  

  
  
  function goScrollToElement(container, element) {
   var container = $(container);
   var element = $(element);

   // Primero sacamos las dimenciones que nos interesan
   var posTop = container
   var elTop = element.position().top - element.height();

   // Ejecutamos .animate sobre el contenedor, con la nueva pocion del scroll
   container.animate({scrollTop: posTop + elTop});

}

  
      
      
      
      
  //---------------------------Titulo de tablas inmovilizados-----/
  
  
  
  //todas las cajas de informacion con el puntero del mouse activas
  $(".botonInfo").dblclick(function(e){botonInfo($(this),e.pageX,e.pageY+5);});
  botonInfoCloseAll();
  
  $(".botomIntBoxMini").mouseover(function(){
      
       var imagen = '';
       //Validar si posee imagen interna
        if($(this).attr('src').length>=1){
           Img_contenedor = $(this).attr('src').split("/");
           imagen = Img_contenedor[Img_contenedor.length-1].split(".");
           imagen = imagen[0].replace('On', '');
           $(this).attr('src',"/images/callcenter/"+imagen+"On.png");
           
           var num             = $(this).context.id.split("_");
               num             = num[num.length-1];
           
           $('#botomIntBoxMiniMsn_'+num).html($(this).attr('title'));
           
           
        }
      
  }).mouseout(function(){
      
       var imagen = '';
       //Validar si posee imagen interna
        if($(this).attr('src').length>=1){
           Img_contenedor = $(this).attr('src').split("/");
           imagen = Img_contenedor[Img_contenedor.length-1].split(".");
           imagen = imagen[0].replace('On', '');
           $(this).attr('src',"/images/callcenter/"+imagen+".png");
           
           var num             = $(this).context.id;
               num             = num[num.length-1];
           
           $('#botomIntBoxMiniMsn_'+num).html('');
           
        }
      
  }).click(function(){
      
      var accion = $(this).attr('title');
      var url    = $(this).attr('name');
      
      if((accion.split('Imprimir')).length>1){
          
            validarEnvio(accion,url);  

      }
      if((accion.split('Reangedar')).length>1){
      
            validarEnvio(accion,url);
      
      }
      if((accion.split('Cancelar')).length>1){
          
            validarEnvio(accion,url);
          
      }
      if((accion.split('Cancelar')).length>1){
          
            validarEnvio(accion,url);
          
      }
      if((accion.split('Observar')).length>1){
          
            validarEnvio(accion,url);
          
      }
      if((accion.split('Repcion')).length>1){
          
            validarEnvio(accion,url);
          
      }
      if((accion.split('Encuesta')).length>1){
          
            validarEnvio(accion,url);
          
      }
      
      
  
  });
    

    
  
});




function validarEnvio(texto,url){
    
    //Confirmacion si desea realizar la operacion
                jConfirm('Esta seguro de que desea '+texto+'?', 'Confirmacion de Accion', function(r) {
                    if(r==true){
                        window.open(url,'_self');
                    } 
                });
                
}

function imprimirDiv(Objeto){
    
    $("#"+Objeto).printArea();
    
}

function divDisable(){
        
        
        var height = $(document).height();
        $("body").css("overflow", "hidden");
        $('#divDisable').css('height',height);
        $('#divDisable').show();

}

function validarLink(Objeto,texto){
    
     //Confirmacion si desea realizar la operacion
    jConfirm('Esta seguro de que desea '+texto+'?', 'Confirmacion de Accion', function(r) {
        if(r==true){
            window.open($(Objeto).attr('href'),'_self');
        } 
    });
    
}

/*Apertura de los menus de las periodicidades de las mascotas*/
function OpenEstiloOp(Objeto){

    var idObjeto = Objeto.context.id.match(/\d+/);
    var ObjetoDisplay = $('.jwj-estilo-display');
    var DisplayBoton = 'jwj-estilo-displayBotonDash';
    var ObjetoDisplayBoton = $("."+DisplayBoton);
    var ClassOpen = 'jwj-estilo-display-open';
    var ClassClose = 'jwj-estilo-display-close';

    if (Objeto.hasClass(ClassOpen)==true){

        ObjetoDisplay.slideUp(100);
        ObjetoDisplayBoton.attr('class',ClassOpen+" "+DisplayBoton);
        $("#jwj-estilo-display_"+idObjeto).slideDown(100);
        Objeto.attr('class',ClassClose+" "+DisplayBoton);

    }else{

        $("#jwj-estilo-display_"+idObjeto).slideUp(100);
        Objeto.attr('class',ClassOpen+" "+DisplayBoton);

    }


}

/*Apertura del Menu izquierdo con la información contenida*/
function MenuOpen(UrlData,menuWidth,menuHeight,arrayData){
    
    if(parseInt($("#slideDer").css("left"))){
        MenuAjax(UrlData,menuWidth,menuHeight,arrayData);

    }else{
        MenuClose();
        MenuAjax(UrlData,menuWidth,menuHeight,arrayData);
    }
    
    divDisable();
    botonInfoCloseAll();
    
}
function MenuAjax(UrlData,menuWidth,menuHeight,arrayData){
        
        $.ajax({
            url: UrlData,
            data: arrayData,
            dataType: "script",
            type: "POST",
            beforeSend:Loading($("#slideDer-intConten")),
            success: function(theResponse){                
                $("#slideDer").css({'height':menuHeight,'width':menuWidth});
                $("#slideDer").animate({left: parseInt($("#slideDer").css("left"))== 0 ?"-="+$("#slideDer").outerWidth() : 0},200);
                $("#slideDer-intConten").html(theResponse);
            }});
    
}
/*Cierre de Menu de Opciones y reseteo de la información*/
function MenuClose(){
    
        
        $('#boxInput').hide();
        $('#agendado-descuento').hide();
        $('#agendado-nota').hide();
        $("#boxInput").html("");
         $('#filtroRangos').hide();
        $("#filtroRangos").html("");
        
        
        $("#slideDer-intConten").html("");
        
        if(!parseInt($("#slideDer").css("left"))){
        $("#slideDer").animate({
        left: parseInt($("#slideDer").css("left"))== 0 ?"-="+$("#slideDer").outerWidth() : 0
        },10);
        $("#slideDer").css({'left':null});}
    
        $('#divDisable').hide();
        botonInfoCloseAll();
}
/*Funcion para simplificar el movimiento de los objetos dragables*/
function dragHelper(e, ui){
    return $('<div class="DragDrop selectoWidget">' + ui.find(".selectoWidget").text() + '</div>' ).width(170).height(15);
    };

/* Imagen de Loandin de los elementos*/
function Loading(Objeto){
        Objeto.html('<div class="load"><p>Cargando...</p></div>');
}

/*Confirmacion de borrado*/
function ConfirmacionObjeto(UrlData,idDataObjeto,idObjeto,tipoObjeto){

    var varObjeto,contenidoHtml,Style;
    if(tipoObjeto == "Widget"){
           varObjeto = $("#widgetInt_"+idDataObjeto);Style = "style= \"width: 190px;right: 10px; float: right;\"";
    }else{varObjeto = $("#"+idObjeto);Style = "style= \"position: absolute; width: 300px; left: 40px;\"";}
    contenidoHtml = varObjeto.html();
    if(!varObjeto.find(".ConfirmacionObjeto").html()){ // Valido si ya esta creado el Objeto
       
    varObjeto.html('<div class="ConfirmacionObjeto" '+Style+'>\n\
                                  <p>¿Desea eliminar '+tipoObjeto+'?</p>\n\
                                  <p><button type="button" class="ConfirmacionBoton" onclick="javascritp:'+tipoObjeto+'Delete(\''+UrlData+'\',\''+idDataObjeto+'\',\''+idObjeto+'\')" title="Eliminar '+tipoObjeto+'">Sí, Elimnar</button>\n\
                                  <button type="button" class="ConfirmacionBoton" onclick="javascritp:$(\'.ConfirmacionObjeto\').remove();">(No)</button>\n\
                                  </p></div>'+contenidoHtml);
    }
}

////////////////////////////////////////////////////////////////////////////////
///////////////////////////////*CRONOS FUNCIONES*///////////////////////////////
/*funcion de Armado de los menu con subopciones de comportamiento*/
function OpenMenuTools(Objeto,UrlData){

        var ObjetoTools = $("#jwj-tools");
        var ObjetoToolsDisplay = $("#jwj-toolsDisplay");

        if (Objeto.hasClass("comenzar")==true){
            ObjetoTools.slideUp(250);
            ObjetoToolsDisplay.delay(250).slideDown(250);
            AdminMode("comenzar");
        }else if(Objeto.hasClass("terminar")==true){
            ObjetoToolsDisplay.slideUp(250);
            ObjetoTools.delay(250).slideDown(250);
            AdminMode("terminar");
            MenuClose();
        }//Menu de Opcion Control de la Diagramacion / Capas
        else if(Objeto.hasClass("jwj-tools-capa")==true){
             AdminMode("comenzar");
             MenuOpen(UrlData,'250','270','simple=1');
        }//Menu de Opcion Control / Diseño de estilo Pagina
        else if(Objeto.hasClass("jwj-tools-fondo")==true){
            MenuOpen(UrlData,'295','auto','simple=1');
            AdminMode("terminar");
        }

}

/*Funcion para cambiar al modo de vista diseñador*/
function AdminMode(valorSession){

    //validacion dependiendo On/Off
    if(valorSession=="comenzar"){

        //Distribucion y Diagramacion Atributos
        $(".jwj-Diagrama-div").css({'width':'990px','border-bottom':'1px dashed #adc7db'});
        $(".Option-Diagramacion").show().animate({
             width: "26px",opacity: 1
        }, 200 );

        //Columnas de la distribucion
        $(".Option-Columna").delay(280).slideDown();
        $(".jwj-Diagrama-divInt").css({'border':'1px dashed #adc7db','min-height':'100px','border-left' : 'none','border-bottom' : 'none'});

        //Widget Atributos
        $(".StyleTitle").removeClass('StyleTitle').addClass('selectoWidget').delay(300).slideDown();

        $(".Option-widget").delay(305).slideDown();
        $(".widgetBorderOff").css('border', '1px solid #ccc');

    }else if(valorSession=="terminar"){

   //Distribucion y Diagramacion Atributos
        $(".jwj-Diagrama-div").css({'border-bottom':'none'});
        $(".Option-Diagramacion").animate({
             width: "0px",opacity: 0
         }, 500 );
         
        //Columnas de la distribucion
        $(".Option-Columna").slideUp();
        $(".jwj-Diagrama-divInt").css({'border':'1px solid #fff','min-height':'none'});

        //Widget Atributos
        $(".widgetTituloOn").slideUp(1).attr('class', 'widgetTituloOn StyleTitle').delay(200).slideDown();
        $(".widgetTituloOff").slideUp(1).attr('class', 'widgetTituloOff StyleTitle');
        $(".Option-widget").hide();
        $(".widgetBorderOff").css('border', 'none');

     
    }
}

/*Crea la nueva division con su debida Distribución*/
function DiagramaInner(UrlData,idDistribucion,idModulo){
   //Capturo la cantidad de elementos presentes dentro de la columna
   var order = $("#jwj-content").find(".jwj-Diagrama-div").size();
   var data = "modulo_id="+idModulo+"&distribucion_id="+idDistribucion+"&orden="+order;
   //genereo el Objeto dentro en la ultima posicion
   $.post(UrlData, data, function(theResponse){
        $("#jwj-content").append(theResponse);
        //Cierro el Menu de Opciones al Crear el objeto
        sortableAfterDrag();AdminMode("comenzar");MenuClose();
	});
}

/*funcion para borrar las diagramaciones de la pagina en modo diseño.*/
function DiagramacionDelete(UrlData,idDataObjeto,idObjeto){
//data a enviar a la funcion.
        var data = "diagramacion_id="+idDataObjeto+"&diagramacion_columna="+idObjeto;
        //Se remueve el objeto de diagramacion del lienzo
        $("#"+idObjeto).remove();
        sortableAfterDrag();
        $.post(UrlData, data, function(){});
};
/*Activa / Desactiva las flechas de orden*/
function sortableAfterDrag(){

        $("#jwj-content").find('.UpBoton-Diagrama').removeAttr("disabled");
        $("#jwj-content").find('.DownBoton-Diagrama').removeAttr("disabled");
        $("#jwj-content .jwj-Diagrama-div:first").find('.UpBoton-Diagrama').attr("disabled","disabled");
        $("#jwj-content .jwj-Diagrama-div:last").find('.DownBoton-Diagrama').attr("disabled","disabled");


};

/*Crea el nuevo Widget heredando del componente e insertandolo en su columna*/
function WidgetInner(UrlData,idComponente,idDiagramacion,idColumna,componente_titulo,componente_is_titulo,componente_is_border){
   //Capturo la cantidad de elementos presentes dentro de la columna
   var order = $("#"+idColumna).find(".menu-int").size();
   var data = "componente_id="+idComponente+"&diagramacion_id="+idDiagramacion+"&columna="+idColumna+"&componente_titulo="+componente_titulo+"&componente_is_titulo="+componente_is_titulo+"&componente_is_border="+componente_is_border+"&orden="+order;
   //genereo el Objeto Widget dentro de la columna en la ultima posicion
   $.post(UrlData, data, function(theResponse){
        $("#"+idColumna).append(theResponse);
        //Cierro el Menu de Opciones al Crear el objeto Widget
        AdminMode("comenzar");MenuClose();
	});


}

/*funcion para borrar los widget de la pagina en modo diseño.*/
function WidgetDelete(UrlData,idDataObjeto,idObjeto){
        //data a enviar a la funcion.
        var data = "widget_id="+idDataObjeto+"&widget_columna="+idObjeto;
        //Se remueve el objeto de diagramacion del lienzo
        $("#"+idObjeto).remove();
        $.post(UrlData, data, function(){});

}

/*Carga Inicial de los Widget dependiendo de la columnas de posicion*/
function WidgetLoad(UrlData,idWidget,columnaWidth){

        $.ajax({
            url: UrlData,
            data: "idWidget="+idWidget+"&widthColumna="+columnaWidth,
            dataType: "script",
            type: "POST",
            beforeSend:Loading($("#widgetInt_"+idWidget)),
            success: function(theResponse){
                $("#widgetInt_"+idWidget).html(theResponse);
            }});
       
}

////////////////////////////////////////////////////////////////////////////////
///////////////////////////*CALLCENTER FUNCIONES*///////////////////////////////

/*Funcion de Recargado Dinamico de la Info Usuario*/
function LoadUser(UrlData,arrayData,responseId){
        
         $.ajax({
            url: UrlData,
            data: arrayData,
            type: "POST",
            //beforeSend:Loading(responseId),
            success: function(theResponse){
                $(responseId).html(theResponse);
            }});
        
        
}
function LoadUserShow(UrlData,idUser,idAgendado){
        
        //Envio del idUser, captura y muestra del resultados
        responseId = $('#userId');
        var arrayData = 'idUser='+idUser+'&idAgendado='+idAgendado;      

         $.ajax({
            url: UrlData,
            data: arrayData,
            type: "POST",
            //beforeSend:Loading(responseId),
            success: function(theResponse){
                $(responseId).html(theResponse);
            }});
        
}
function LoadDashBoard(UrlData,arrayData){
    $("#jwj-call_content").load(UrlData,arrayData);
}

function activarFiltro(){
    
    if($("#activarFiltro").attr('class')=="Off"){
        
        $("#activarFiltro").attr('class',"On");
        $("#activarFiltro").attr('title',"Activar Filtros");
        $("#activarFiltro img").attr('src',"/images/callcenter/busqueda.png");
        
        $("#filtro form").slideUp(220);
        
    }else{
        
        $("#activarFiltro").attr('class',"Off");
        $("#activarFiltro").attr('title',"Desactivar Filtros");
        $("#activarFiltro img").attr('src',"/images/callcenter/busquedaOn.png");
        $("#filtro form").slideDown(220);
    }
    
    
  }
  
  function abrirPag(url){
      
                window.open(url);
	}
        
  function abrirURL(url){
      
                //window.open(url,'_blank');
                window.open(url,'_self');
	}
  
  
  
//  var elemento = $("#link_descuento");
//var posicion = elemento.offset();
//
//var ventanaValor = $(window).width();
//var posicionMensaje = ventanaValor - posicion.left - elemento.width();
//
//alert( "left: "+posicionMensaje);
  
  function botonInfoCloseAll(){
      
      var numInt;
      var imagen;
      var contenedor;
      var Img_contenedor;
      
      $("body").css("overflow", "auto");
      
      if($('.botonInfo').length>=1){
            
            
           
        $('.botonInfo').each( function(){
            
    
            //Slip de Url de la funcion
                contenedor = $(this).attr('id').split("_");
                numInt = contenedor[contenedor.length-1];
    
                
                //Validar si posee imagen interna
                if($("#img_"+numInt).length>=1){
                    Img_contenedor = $("#img_"+numInt).attr('src').split("/");
                    imagen = Img_contenedor[Img_contenedor.length-1].split(".");
                    imagen = imagen[0].replace('On', '');
                    botonInfoIntVal(imagen,numInt);
                }

                 $("#contenedor_"+numInt).removeClass('ventanaOn');
                 
                 
                 $("#link_"+numInt).attr('title',$("#link_"+numInt).attr('title').replace('Cerrar', 'Abrir'));
                 $("#link_"+numInt).removeClass('Off');
                 $("#link_"+numInt).addClass('On');

                 $("#contenedor_"+numInt).hide();
            
          });
        }    
      
      
  }
  
  function botonInfoIntVal(imagen,numInt){
      
      var imagenFondoInt  = imagen+".png";
      
      
      if($("#contenedor_"+numInt+" textarea").length>=1){
                
                if($("#contenedor_"+numInt+" textarea").val().length>=1){
                imagenFondoInt = imagen+"On.png";
                
        }

       }
       if($("#contenedor_"+numInt+" input").length>=1){
                
                if($("#contenedor_"+numInt+" input").val().length>=1){
                imagenFondoInt = imagen+"On.png";}       
           
       }
       
                 
      $("#img_"+numInt).attr('src',"/images/callcenter/"+imagenFondoInt);
     
                 
  }
  
  
  
  function botonInfo(objetoForm,posicionX,posicionY){
      
      

    var elemento    = $(objetoForm);
    
    //Slip de Url de la funcion
    var num             = $(objetoForm).attr('id').split("_");
        num         = num[num.length-1];
        
        
        
    var imagen      = '';
    
        
        
        if(posicionX+$("#contenedor_"+num).width()>=$(window).width()){
 
            
            posicionX = $(window).width()-posicionX;
            $("#contenedor_"+num).css('right',posicionX-35); 
            
            
            $("#triangulo_"+num).attr('class', 'trianguloR');
        
        }else{
            
            
            $("#contenedor_"+num).css('left',posicionX-35);
            $("#triangulo_"+num).attr('class', 'trianguloL');
            
        }
        
        if(posicionY+$("#contenedor_"+num).height()>=$(window).height()){

            $("#contenedor_"+num).css('top',posicionY-$("#contenedor_"+num).height());
            $("#triangulo_"+num).attr('class', 'trianguloRbottom');
            
        }else{
            
            $("#contenedor_"+num).css('top',posicionY);
            
        }
        
        
        
         
        botonInfoCloseAll();
        if(elemento.hasClass('divDisable')) divDisable();
        
        
        elemento.attr('title',elemento.attr('title').replace('Abrir', 'Cerrar'));
        elemento.removeClass('Off');
        elemento.addClass('On');
        
        elemento.css("display", "block");
    
                //Validar si posee imagen interna
                if($("#img_"+num).length>=1){
                    Img_contenedor = $("#img_"+num).attr('src').split("/");
                    imagen = Img_contenedor[Img_contenedor.length-1].split(".");
                    imagen = imagen[0].replace('On', '');
                    $("#img_"+num).attr('src',"/images/callcenter/"+imagen+"On.png");
                }
                
        
        $("#contenedor_"+num).slideDown(220);
        $("#contenedor_"+num).addClass('ventanaOn');
        
        

    
  }
  
  
  
  
  function removeEtiqueta(num,url) {
 
    //Confirmacion si desea realizar la operacion
    jConfirm('Esta seguro de que desea borrar?', 'Confirmacion de Accion', function(r) {
        if(r==true){
            //Remueve el atributo ingresado en el formulario
            $("#"+num).remove();    
                var r = $.ajax({
                        type: 'GET',
                        url: url,
                        async: false
                        });    
                
            }    
    });
        
    
}



function closeAll(){
        $("body").css("overflow", "auto");
        $('#divDisable').hide();
        MenuClose();
        
        
}



function boxInput(url,arrayData){
    
    
       
       $.ajax({
                url: url,
                data: arrayData,
                type: "POST",
                success: function(theResponse){
                    divDisable();
                    $('#boxInput').html(theResponse);
                    $('#boxInput').show();
      }});
    
    
}


/**
 * jQuery.fn.sortElements
 * --------------
 * @param Function comparator:
 *   Exactly the same behaviour as [1,2,3].sort(comparator)
 *   
 * @param Function getSortable
 *   A function that should return the element that is
 *   to be sorted. The comparator will run on the
 *   current collection, but you may want the actual
 *   resulting sort to occur on a parent or another
 *   associated element.
 *   
 *   E.g. $('td').sortElements(comparator, function(){
 *      return this.parentNode; 
 *   })
 *   
 *   The <td>'s parent (<tr>) will be sorted instead
 *   of the <td> itself.
 */
jQuery.fn.sortElements = (function(){
 
    var sort = [].sort;
 
    return function(comparator, getSortable) {
 
        getSortable = getSortable || function(){return this;};
 
        var placements = this.map(function(){
 
            var sortElement = getSortable.call(this),
                parentNode = sortElement.parentNode,
 
                // Since the element itself will change position, we have
                // to have some way of storing its original position in
                // the DOM. The easiest way is to have a 'flag' node:
                nextSibling = parentNode.insertBefore(
                    document.createTextNode(''),
                    sortElement.nextSibling
                );
 
            return function() {
 
                if (parentNode === this) {
                    throw new Error(
                        "You can't sort elements if any one is a descendant of another."
                    );
                }
 
                // Insert before flag:
                parentNode.insertBefore(this, nextSibling);
                // Remove flag:
                parentNode.removeChild(nextSibling);
 
            };
 
        });
 
        return sort.call(this, comparator).each(function(i){
            placements[i].call(getSortable.call(this));
        });
 
    };
 
})();